home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / _archvrs / unix / gzip_1_2 / vms / makefile.vms < prev    next >
Makefile  |  1993-06-22  |  5KB  |  134 lines

  1. # Makefile for gzip (GNU zip)    -*- Indented-Text -*-
  2. # Copyright (C) 1992-1993 Jean-loup Gailly and the Free Software Foundation
  3. # VMS version made by Klaus Reimann <kr@cip.physik.uni-stuttgart.de>,
  4. # revised by Roland B Roberts <roberts@nsrl31.nsrl.rochester.edu>.
  5. # This version is for VAXC. Tested with Todd Aven's MAKE/VMS.
  6.  
  7. # After constructing gzip.exe with this Makefile, you should set up
  8. # symbols for gzip.exe.  Edit the example below, changing
  9. # "disk:[directory]" as appropriate.
  10. #
  11. # $ gzip   == "$disk:[directory]gzip.exe"
  12. # $ gunzip == "$disk:[directory]gunzip.exe"
  13. # $ zcat   == "$disk:[directory]zcat.exe"
  14.  
  15.  
  16. # This program is free software; you can redistribute it and/or modify
  17. # it under the terms of the GNU General Public License as published by
  18. # the Free Software Foundation; either version 2, or (at your option)
  19. # any later version.
  20.  
  21. # This program is distributed in the hope that it will be useful,
  22. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  23. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  24. # GNU General Public License for more details.
  25.  
  26. # You should have received a copy of the GNU General Public License
  27. # along with this program; if not, write to the Free Software
  28. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  29.  
  30. #### Start of system configuration section. ####
  31.  
  32. CC = cc
  33. LINK = link
  34.  
  35. CFLAGS =
  36. # CFLAGS = /warning
  37. LDFLAGS =
  38.  
  39. # Things you might add to DEFS
  40. # -DDIRENT              Use <dirent.h>  for recursion (-r)
  41. # -DSYSDIR              Use <sys/dir.h> for recursion (-r)
  42. # -DSYSNDIR             Use <sys/ndir.h> for recursion (-r)
  43. # -DNDIR                Use <ndir.h> for recursion (-r)
  44. # -DSTDC_HEADERS        Use <stdlib.h>
  45. # -DHAVE_UNISTD_H    Use <unistd.h>
  46. # -DNO_UTIME_H        Don't use <utime.h>
  47. # -DHAVE_SYSUTIME_H    Use <sys/utime.h>
  48. # -DNO_MEMORY_H         Don't use <memory.h>. Not needed if STDC_HEADERS.
  49. # -DNO_STRING_H         Use strings.h, not string.h. Not needed if STDC_HEADERS
  50. # -DRETSIGTYPE=int      Define this if signal handlers must return an int.
  51. # -DNO_SYMLINK          OS defines S_IFLNK but does not support symbolic links
  52. # -DNO_MULTIPLE_DOTS    System does not allow file names with multiple dots
  53. # -DNO_UTIME        System does not support setting file modification time
  54. # -DNO_CHOWN        System does not support setting file owner
  55. # -DNO_DIR        System does not support readdir()
  56. # -DPROTO        Force function prototypes even if __STDC__ not defined
  57. # -DASMV        Use asm version match.S
  58. # -DMSDOS        MSDOS specific
  59. # -DOS2            OS/2 specific
  60. # -DVAXC        Vax/VMS with Vax C compiler
  61. # -DVMS            Vax/VMS with gcc
  62. # -DDEBUG        Debug code
  63. # -DDYN_ALLOC        Use dynamic allocation of large data structures
  64. # -DMAXSEG_64K        Maximum array size is 64K (for 16 bit system)
  65. # -DRECORD_IO           read() and write() are rounded to record sizes.
  66. # -DNO_STDIN_FSTAT      fstat() is not available on stdin
  67. # -DNO_SIZE_CHECK       stat() does not give a reliable file size
  68.  
  69. # DEFS = /define=(VAXC)
  70. DEFS =
  71. LIBS =
  72.  
  73. X=.exe
  74. O=.obj
  75.  
  76. # additional assembly sources for particular systems be required.
  77. OBJA =
  78.  
  79. #### End of system configuration section. ####
  80.  
  81. OBJS = gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O util$O \
  82.        crypt$O lzw$O unlzw$O unpack$O unlzh$O getopt$O vms$O $(OBJA)
  83.  
  84. # --- rules ---
  85.  
  86. *$O:    *.c
  87.     define/user sys sys$library
  88.     $(CC) $* $(DEFS) $(CFLAGS)
  89. #    create sys$output
  90. #        $(CC) $* $(DEFS) $(CFLAGS)$
  91.  
  92. default:  all
  93.  
  94. all:    gzip$X #zcmp zdiff zmore znew
  95.  
  96. gzip$X : $(OBJS) #Makefile
  97.   linkobjs:=$(OBJS)
  98.   Schleife:
  99.     p = f$locate(" ",linkobjs)
  100.     if p .lt. f$length(linkobjs)
  101.         then    linkobjs[p,1]:=","
  102.             goto Schleife
  103.     endif
  104.   write sys$output "linking ''linkobjs'"
  105.   $(LINK) $(LDFLAGS) /exec=gzip$X  'linkobjs',sys$input/opt
  106.     SYS$LIBRARY:VAXCRTL/SHARE $
  107. #
  108. #  Create a hard link.  To remove both files, use "make clean".  Using a hard
  109. #  link saves disk space, by the way.  Note, however, that copying a hard link
  110. #  copies the data, not just the link.  Therefore, set up the link in the
  111. #  directory in which the executable is to reside, or else rename (move) the
  112. #  executables into the directory.
  113.   set file/enter=gunzip.exe gzip.exe
  114.   set file/enter=zcat.exe   gzip.exe
  115.  
  116.  
  117. clean:
  118.     set file/remove gunzip.exe;0
  119.     set file/remove zcat.exe;0
  120.     delete gzip.exe;0
  121.     delete *$O;0
  122.  
  123. # Actual build-related targets
  124.  
  125. gzip$O zip$O deflate$O trees$O bits$O unzip$O inflate$O: gzip.h tailor.h
  126. util$O lzw$O unlzw$O unpack$O unlzh$O crypt$O: gzip.h tailor.h
  127.  
  128. gzip$O unlzw$O: revision.h lzw.h
  129.  
  130. bits$O unzip$O util$O zip$O: crypt.h
  131.  
  132. gzip$O getopt$O: getopt.h
  133.